46ef9256b44d78fb4ade339652795255d97078d5,solr/core/src/test/org/apache/solr/servlet/SolrRequestParserTest.java,SolrRequestParserTest,testStandardFormdataUploadLimit,#,323

Before Change


    }
    HttpServletRequest request = getMock("/solr/select", "application/x-www-form-urlencoded", -1);
    expect(request.getMethod()).andReturn("POST").anyTimes();
    expect(request.getQueryString()).andReturn(null).anyTimes();
    expect(request.getInputStream()).andReturn(new ByteServletInputStream(large.toString().getBytes(StandardCharsets.US_ASCII)));
    replay(request);
    
    FormDataRequestParser formdata = new FormDataRequestParser( limitKBytes );    
    try {

After Change


    while (large.length() <= limitKBytes * 1024) {
      large.append('&').append(large);
    }
    HttpServletRequest request = getMock("/solr/select", "application/x-www-form-urlencoded", -1);
    when(request.getMethod()).thenReturn("POST");
    when(request.getInputStream()).thenReturn(new ByteServletInputStream(large.toString().getBytes(StandardCharsets.US_ASCII)));

    FormDataRequestParser formdata = new FormDataRequestParser( limitKBytes );    
    try {
      formdata.parseParamsAndFillStreams(request, new ArrayList<ContentStream>());
      fail("should throw SolrException");
    } catch (SolrException solre) {
      assertTrue(solre.getMessage().contains("upload limit"));
      assertEquals(400, solre.code());
    }

    verify(request).getInputStream();
  }
  
  @Test